@import url('./nprogress.css');
@import url('./reader.css');

html, body {
    min-height: 100%;
    height: auto;
}

.muted {
    color: rgba(0,0,0,.4);
}

.float-right {
    float: right;
}

.float-left {
    float: left;
}

.overflow-x-auto {
    overflow-x: auto;
}

.overflow-x-hidden {
    overflow-x: hidden;
}

.overflow-y-auto {
    overflow-y: auto;
}

.overflow-y-hidden {
    overflow-y: hidden;
}

.mb-auto {
    margin-bottom: auto;
}

.mt-auto {
    margin-top: auto;
}

.mr-auto {
    margin-right: auto;
}

.ml-auto {
    margin-left: auto;
}

.w-full {
    width: 100%;
}

.h-full {
    height: 100%;
}

.max-w-full {
    max-width: 100%;
}

.max-h-full {
    max-height: 100%;
}

.max-h-screen {
    max-height: 100vh;
}

.user-select-none {
    -webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}

#bottom_zone, #drawer {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 20px;

}

:not(.sidebar-hidden).sidebar-left #drawer, :not(.sidebar-hidden).sidebar-left #drawer  {
    padding-left: 70px;
}

:not(.sidebar-hidden).sidebar-right #drawer, :not(.sidebar-hidden).sidebar-right #drawer  {
    padding-right: 70px;
}

#bottom_zone.fluid {
    padding-left: 5px;
    padding-right: 5px;
}

#bottom_zone {
    pointer-events: none;
}

#bottom_zone > div {
    height: 200px;
    position: absolute;
    bottom: 0;
    left: 5px;
    right: 70px;
    bottom: 20px;
}

#bottom_zone.fluid > div {
    right: 5px;
}

#bottom_zone > div > .item {
    position: absolute;
    float: unset;
}

#bottom_zone > div > .item > * {
    pointer-events: auto;
}

#bottom_zone > div > .item.center {
    right: 0;
    left: 0;
    justify-content: center;
    display: flex;
}


#bottom_zone > div > .item.right {
    right: 0;
}

#bottom_zone > div > .item.top {
    top: 0;
}

#bottom_zone > div > .item.bottom {
    bottom: 0px;
}

#bottom_zone > div > .item.left {
    left: 10px;
}

#bottom_zone > div > .item.flex {
    display: flex;
    flex-direction: column;
}

.accented_button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -3.5em;
}

.no-scrollbar {
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox */
    overflow: auto;
}
.no-scrollbar::-webkit-scrollbar { 
    display: none;  /* Safari and Chrome */
}

.fluid-dimmer > .content {
    width: 100%;
}

.sticky-page-sidebar.right:not(.mobile) {
    padding-right: 60px;
}

.vanishIn {
    animation-name: vanishIn;
}
  
@-webkit-keyframes vanishIn {
0% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(2, 2);
    filter: blur(90px);
}
100% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1);
    filter: blur(0px);
}
}

@keyframes vanishIn {
0% {
    opacity: 0;
    transform-origin: 50% 50%;
    transform: scale(2, 2);
    filter: blur(90px);
}
100% {
    opacity: 1;
    transform-origin: 50% 50%;
    transform: scale(1, 1);
    filter: blur(0px);
}
}

.mt-neg-50 {
    margin-top: -50%;
}

.mt-neg-25 {
    margin-top: -25%;
}

.small-text {
    font-size: 1rem;
}

.blur {
    position: relative;
    overflow: hidden;
}

.blur img, img.blur {
    filter: blur(30px);
}

.left-0 {
    left: 0;
}

.right-0 {
    right: 0;
}

.z-index-1 {
    z-index: 1;
}

/* slightly transparent fallback */
.backdrop-blur {
    background-color: rgba(255, 255, 255, .9);
  }
  
  /* if backdrop support: very transparent and blurred */
  @supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
    .backdrop-blur {
      background-color: rgba(255, 255, 255, .5);
      -webkit-backdrop-filter: blur(2em);
      backdrop-filter: blur(2em);
    }
  }

.centered-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.visibility-hidden {
    visibility: hidden;
}